package com.zb.service.Impl;

import com.alibaba.fastjson.JSON;
import com.zb.client.SkuFeignClient;
import com.zb.dto.SkuDTO;
import com.zb.entity.SkuDtoES;
import com.zb.repository.SkuRepository;
import com.zb.service.SearchService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.Map;

@Service
public class SearchServiceImpl implements SearchService {
    @Autowired
    SkuFeignClient skuFeignClient;
    @Autowired
    SkuRepository skuRepository;

    @Override
    public Boolean addInfo(String id) {
        SkuDTO skuDTO = skuFeignClient.info(id);
        SkuDtoES skuDtoES = new SkuDtoES();
        skuDtoES.setId(skuDTO.getId());
        skuDtoES.setNum(skuDTO.getNum());
        skuDtoES.setPrice(skuDTO.getPrice());
        skuDtoES.setSn(skuDTO.getSn());
        skuDtoES.setName(skuDTO.getName());
        skuDtoES.setAlert_num(skuDTO.getAlertNum());
        skuDtoES.setImage(skuDTO.getImage());
        skuDtoES.setImages(skuDTO.getImages());
        skuDtoES.setWeight(skuDTO.getWeight());
        skuDtoES.setSpu_id(skuDTO.getSpuId());
        skuDtoES.setCategory_id(skuDTO.getCategoryId());
        skuDtoES.setCategory_name(skuDTO.getCategoryName());
        skuDtoES.setBrand_name(skuDTO.getBrandName());
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        skuDtoES.setCreate_time(simpleDateFormat.format(skuDTO.getCreateTime()));
        skuDtoES.setUpdate_time(simpleDateFormat.format(skuDTO.getUpdateTime()));
        skuDtoES.setSpec(skuDTO.getSpec());
        skuDtoES.setSale_num(skuDTO.getSaleNum());
        skuDtoES.setComment_num(skuDTO.getCommentNum());
        skuDtoES.setStatus(skuDTO.getStatus());
        skuDtoES.setVersion(skuDTO.getVersion());
        String specJSON = skuDTO.getSpec();
        Map map = JSON.parseObject(specJSON, Map.class);
        skuDtoES.setSpec(JSON.toJSONString(map));
        skuRepository.addData(skuDtoES);
        return true;

    }
}
